!Eval version 1.00 (28-Jan-1990)
================================
  Public Domain by Sandie the Walrus

This application is Public Domain. It may be copied freely between people
without fear of committing an illegal act. However, the sale or hire of this
program is strictly prohibited.

This program is a desktop scientific calculator. You enter the expression to
be evaluated into the display, press <Return> and the answer appears. Eval
has full algebraic logic and a wide range of functions making calculations
such as the following possible:

 (42^2+38^-2*42*38)*COS(30)
                 - the cosine rule : a=b+c-2bc.COS(C)

 2+3*4
                 - the answer is 14 not 20. Acorn's calc gets it wrong!

As you may have gathered from the syntax of the above formula and the name
of the program, !Evaluate is based on BASIC's EVAL command, which it uses to
do all the dirty work. This means you can use any of the BASIC functions in
an expression.

 ASC"F"          - produces 70, the ASCII code of the letter 'F'
 1<<22 OR 1<<7   - shift operators and bitwise OR

The possibilities are limitless.


You can also add your own functions to the program. Double-clicking on
!Evaluate's icon whilst holding down Shift gives you access to a BASIC V
procedure library called "MathLib". This can be edited to include any new
functions that you have written.

If you any any FNs or PROCs to MathLib you should include their syntax here
so that people will know about them without having to go through the hass of
hacking the program. Add your name too.

Functions known by MathLib:

FNprime(numeric) - by STW 28/01/1990
Returns "Prime" if the number entered was a prime number, and "Not prime" if
it wasn't. Algorithm used: Sieve of Eratosthenes (cut-down version).

FNfac(numeric) - by STW 28/01/1990
Returns the factorial of the number (! in maths notation). FNfac(6) is
therefore equivalent to 720, or 1*2*3*4*5*6.

FNflag(string) - by STW 28/01/1990
Works out window and icon flags. Enter the bits you wish set (separated by a
dot) and the function returns the flag value in hex. FNflag(1.2.4) will
therefore return &16.

FNprimefac(number) - by STW 28/01/1990
Returns the prime factors of the number separated by commas. FNprimefac(12)
will give 2,2,3.

FNd(s) (Natasha K 28.01.90)
Rolls an s-sided die (1 die, 2 dice and don't you forget)

FNds(n,s) (Natasha K 28.01.90)
Rolls n s-sided dice

=====================

!Evaulate by Sandie the Walrus. Any modifications, extra math functions,
queries etc should be passed to me at the address below so that I can update
the master copy and re-distribute the new application. Send an SAE if you
want your disc returned - I'll copy some PD onto it as well.

 Sandie the Walrus
  12 Mornington Road
   Radlett, Herts
    WD7 7BL
     England

P.S. In the pipeline is !Evaluate2 which is a fully programmable
text/numeric calculator with graph drawing facilities - it should be out by
March 1990.